package ch.uzh.ifi.sonar.analyzers;

import java.util.List;
import java.util.Map;


// Analyze the different objects and persist the result
public interface IAnalyzer {
	
	/* persist the analyzed summary data by different storages, e.g. database, flat files... */
	public void persistSummary();
	
	/* persist the detail analyzed data by different storages*/
	public void persistDetail();
	
	
	/* launch external tools to get the desired metrics calculation */
	public void analyze();
	
	/* collect the calculated metric results and aggregate to the summarized data */
	public void summarize();
	
	/* whether it has been moduleanlyzed*/
	public boolean hasCrossModuleAnalysis();
	
	public List<?> getSummarizedMetrics();
	
	public Map<Object, List<?>> getDetailedMetrics();
	
}
